﻿GStreetviewPanorama = function(container, opts)
{     
    /// <summary>Creates a new GStreetviewPanorama object with a corresponding flash viewer in the provided container. The viewer will not be shown until a location has been specified, either in the optional GStreetviewPanoramaOptions opts object or by calling setLocationAndPOV. (Since 2.104)</summary>
    /// <param name="container" type="GSize">Container in which the panorama will be added.</param>
    /// <param name="opts" type="GStreetviewPanoramaOptions">Specification of the location.</param>
}

GStreetviewPanorama.prototype =
{   
    // ====================================================================================
    // Methods
    // ====================================================================================
    remove : function()
    {
        /// <summary>Removes the instance of the flash viewer currently associated with this object from the DOM. This function must be called before removing the HTML container element otherwise some browsers will fail to garbage collect the flash viewer. (Since 2.104)</summary>
    },
    
    setContainer : function(container)
    {
        /// <summary>Sets the container element for the flash viewer, moving the viewer from its old location if it is currently open. (Since 2.104)</summary>
        /// <param name="container" type="String">Container element for the flash viewer.</param>
    },
    
    checkResize : function()
    {
        /// <summary>Notifies the flash viewer of a change of the size of its container. Call this method after the size of the container DOM object has changed, so that the viewer can adjust itself to fit the new size. (Since 2.104)</summary>
    },
    
    hide : function()
    {
        /// <summary>Hides the flash viewer. To remove the viewer, call .remove() instead. (Since 2.104)</summary>
    },
    
    show : function()
    {
        /// <summary>Shows the flash viewer. (Since 2.104)</summary>
    },
    
    isHidden : function()
    {
        /// <summary>Returns true if the flash viewer associated with this object is hidden, otherwise false. (Since 2.104)</summary>
        /// <returns type="Boolean"></returns>
    },
    
    getPOV : function()
    {
        /// <summary>Returns the current point of view (POV) displayed in the flash viewer. (Since 2.104)</summary>
        /// <returns type="GPov"></returns>
    },
    
    setPOV : function(pov)
    {
        /// <summary>Changes the current point of view (POV) displayed in the flash viewer without changing the location. (Since 2.104)</summary>
        /// <param name="pov" type="GPov">Point of view (POV).</param>
    },
    
    panTo : function(pov, opt_longRoute)
    {
        /// <summary>Changes the current point of view (POV) displayed in the flash viewer without changing the location. Performs a smooth animation from the current POV to the new POV. (Since 2.104)</summary>
        /// <param name="pov" type="GPov">New Point of view (POV)</param>
        /// <param name="opt_longRoute" type="Boolean">If opt_longRoute is set then the animation will follow a long route around the sphere, otherwise the shortest route</param>
    },
    
    setLocationAndPOV : function(latlng, opt_pov)
    {
        /// <summary>Sets the location and POV of the flash viewer. After calling this function, the viewer will display the nearest location to the latlng provided if one is available. If no data is available for this location, then the flash player will remain unchanged and emit an error code. See GStreetviewClient.ReturnValues for the possible response codes. (Since 2.104)</summary>
        /// <param name="latlng" type="GLatLng">GLatLng object where the view need to be set.</param>
        /// <param name="opt_pov" type="Boolean">If opt_longRoute is set then the animation will follow a long route around the sphere, otherwise the shortest route</param>
    },
    
    followLink : function(yaw)
    {
        /// <summary>Follows a link from the current panorama to a neighbouring panorama. If there are multiple neighbouring panoramas then the nearest match will be taken. (Since 2.104)</summary>
        /// <param name="yaw" type="Number">Yaw specifies the direction of the neighbouring panorama.</param>
    }
}
